ReportHTML 1.4.0.3, Cmdlets Usage, Help & Examples

Report created on Jun 8, 2017 07:30 PM
Why we wrote this PowerShell is an amazing tool for gathering, collecting, slicing, grouping, filtering and collating data. However, trying to show that information or several sets of it on one report is not as easy. A few years we ago built our own solution, we created a set of HTML reporting functions. I have been using these functions for years to help myself, my team and customers to deliver Powershell data to people that just need the details and not a CSV file or a code snippet. We’ve now decided to make these available to the rest of you.
Original Credits This code was originally borrowed from Alan Renouf for a vSphere healthcheck report by Andrew Storrs and myself for a more dynamic reporting style, being able to create reports on the fly with minimal effort.
Recent Credits Jennifier Han, Giovanni Fleres, Chris Speers, Keith Ellis, Blake and Moep
Running Reports These reports, once built can be scheduled to run, dropped on a file share emailed or saved to an Azure Storage Blob.
This Help Report Will walk through several examples of how to use the functions to generate different types of reports.
Beta Help File Please note this help is in a draft state
1.4.0.1 introduced Get-HTMLDataTable fucntion to consume HTML 5 Data tables features. Included additional java scripts and CSS styles
1.3.2.2 Added Custom footer text to Get-HTMLPageClose -FooterText 'Your text here'.
Created Functions for Heading Get-HTMLHeading, added CSS H1 to H7.
Added PowerShell Logo, usage 'PowerShell' in get-HTMLPageOpen
1.3.2.1 Updated 'Corporate' Logo and 'Alternate' logo files
1.3.2.0 Added dynamic columns function Get-HTMLColumnOpen.
Example Usage 'Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 2'
1.3.1.1 minor fixes
1.3.1.0 Sleeps removed from module, Axis Labels added to bar chart, few logic errors corrected.
Added Get-HTMLContentTableAadvanced
1.3.0.7 Added This Change Log
1.3.0.6 Added Totals to get-HTMLContentTable and associated help content
1.3.0.5 another fix to save-HTMLReport so it can handle a null reportpath.
Moved Html Help file logic to a nested psm1 file.
In addition to Creating ReportHTMLHelpers to start building more reports this module
was updated in conjunction with publishing Run-ReportAzureRBAC
1.3.0.4 Minor Fixes, Major addition a Help Report. run Get-HTMLReportHelp
1.3.0.1 Changes to allow for more flexible customization, use Chart JS for charting, working in Azure Automation and
now support HTML5 Tabs
1.3.0.0 Awesome changes here for flexibility with CSS, Logos, Chart creation and more. Hopefully there will be less
major changes from here once legacy cmdlets are removed. Feedback always welcome
1.2.0.3 Changes to add functionality for Custom CSS files and changed export to be HTML file type. The CSS and
Javascript files are now present in the module directory allowing for ease of manipulation
and customization. Get-HTMLOpen and Get-HTMLClose still present in module but
can be replaced with Get-HTMLOpenPage and Get-HTMLClosePage.
1.2.0.1 Changes (non Breaking) to add functionality for Custom CSS files and changed export to be HTML file type.
Get-HTMLOpen and Get-HTMLClose still present in module but can be replaced with
Get-HTMLOpenPage and Get-HTMLClosePage.
10.0.0.15 Thanks to Moep for fix to table row color with default values.
1.0.0.14 Added Bar chart function and -testchart switch
1.0.0.12 fixed HTML Close working on charting options
1.0.0.11 fixed HTML Close.

Creating headings Get-HTMLHeading -headerSize 1 -headingText 'This is heading 1'
Heading Tag 1
 $rpt += Get-HTMLHeading -headerSize 1 -headingText "This is heading 1" 
Heading Tag 2
 $rpt += Get-HTMLHeading -headerSize 2 -headingText "This is heading 2" 
Heading Tag 3
 $rpt += Get-HTMLHeading -headerSize 3 -headingText "This is heading 3" 
Heading Tag 4
 $rpt += Get-HTMLHeading -headerSize 4 -headingText "This is heading 4" 
Heading Tag 5
 $rpt += Get-HTMLHeading -headerSize 5 -headingText "This is heading 5" 
Heading Tag 6
 $rpt += Get-HTMLHeading -headerSize 6 -headingText "This is heading 6" 

This is heading 1

This is heading 2

This is heading 3

This is heading 4

This is heading 5
This is heading 6

Functions Each function return HTML code, the parameters you send in will be return with HTML code.
Building an Array To build a report create an array object and add parts of your report together.
Eg, create an array variable $Rpt = @()
Next add to the array.
$RPT += get-htmlpageopen -title "Welcome"
Open / Close Although these functions help you with HTML its still HTML. HTML uses tags and everything you open you must close
Get-HTMLContentOpen -HeaderText, creates a section header. You can then add other functions and code. However you must eventually add get-HTMLContentClose.
Using Indenting is an easy way to keep track of what tag your in.
Saving Reports The Array need to be saved to a file, there are a couple of options for this.
You can save the array to a file using set-content.
$rpt | set-content -path "c:\temp\MyReport.html"
You can use the Save-HTMLReport Function. There is also a save to storage azure blob option
Building Report Code
 $rpt = @()
$rpt += Get-HTMLOpenPage -TitleText "ReportHTML" 
	$rpt += Get-HTMLContentOpen 
		$rpt += Get-HTMLContentText -Heading "Header" -Detail "Detailed Information" 
	$rpt += Get-HTMLContentClose 
$rpt += Get-HTMLClosePage  
Custom Report Footer
 $rpt += Get-HTMLClosePage -FooterText "Enter Your Custom Text Here" 
Saving a Report - Write Array to file
 $rpt | set-content -path "c:\temp\MyReport.html"  
Set-Content -Value $rpt -path "c:\temp\MyReport.html"  
Invoke-item "c:\temp\MyReport.html" 
Saving a Report - Use the builtin function (1 Liner Options)
 Save-HTMLReport -Reportcontent $rpt -ReportPath c:\temp -ReportName "MyReport" -showreport
Save-HTMLReport -Reportcontent $rpt -ReportPath c:\temp -ReportName "MyReport.html" 
Save-HTMLReport -Reportcontent $rpt -ReportPath c:\temp -ReportName "MyReport" 
Save-HTMLReport -ShowReport 
$SavedFile = Save-HTMLReport -ShowReport  
Saving a Report - Save To Azure Storage Blob
 Save-HTMLToBlobStorage -Needs an Azure Account #More to come 
ReportHTML
ReportHTML

Report created on Jun 8, 2017 07:30 PM
Header Detailed Information

Mixed and Match You can use the following parameters in a mix and match format
-LeftLogoName These switch will load logos to the top left of the report from JPG files saved in the module directory. There are 4 image files in the module for examples 'Alternate','Blank','Sample' and 'Corporate' (this uses Get-HTMLLogos)
-RightLogoName These switch will load logos to the top of the report right from JPG files saved in the module directory. There are 4 image files in the module for examples 'Alternate','Blank','Sample' and 'Corporate' (this uses Get-HTMLLogos)
-LeftLogoString You can eith use a URL reference here, or Base 64 encoded string
-RightLogoString You can eith use a URL reference here, or Base 64 encoded string
-hidelogos Remove the header
-LogoPath Use in conjunction with LeftLogoName and RightLogo Name. Specify the File Name in the directory
Load Images from Files
 Get-HTMLOpenPage -TitleText "Example 1" -LeftLogoName Corporate -RightLogoName Alternate 
Example 1
Example 1

Report created on Jun 8, 2017 07:31 PM
Load Images from Files
 Get-HTMLOpenPage -TitleText "Example 2" -LeftLogoName Blank -RightLogoName Sample 
Example 2
Example 2

Report created on Jun 8, 2017 07:31 PM
Load Images from a URL
 Get-HTMLOpenPage -TitleText "Example 1" -LeftLogoString "https://azurefieldnotesblog.blob.core.windows.net/wp-content/2016/07/powershell.jpg" ` 
-RightLogoString "https://azurefieldnotesblog.blob.core.windows.net/wp-content/2016/07/datacenter.jpg"
Example 3
Example 3

Report created on Jun 8, 2017 07:32 PM
Use Base 64 code
 $OurLogos = Get-HTMLLogos 
$YourLogos = get-htmlLogos -LogoPath c:\YourPath\
$Base64Logo = $OurLogos.get_item("PowerShell")
Get-HTMLOpenPage -TitleText "Example 4" -LeftLogoName Blank -RightLogoString $Base64Logo
Base64 String data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBGRXhpZgAATU0AKgAAAAgABAESAAMAAAABAAEAAFEQAAEAA....and so on and so on
Example 4
Example 4

Report created on Jun 8, 2017 07:32 PM
We dont need no stinking logos!
 Get-HTMLOpenPage -TitleText "Example 5" -HideLogos 
Use a Logo Path
 Get-HTMLOpenPage -LogoPath "C:\path\" -LeftLogoName "NameOfFileInPath" -RightLogoName Blank 

Customzie the Look All style is in a CSS file so if you want to change it, you can
Sample Style This is just an example when you use get-htmlopenpage use the CSSName switch
use the name of the css style sheet in the directory
Usage Style Sheets are best best used in conjuction with New-HTMLReportOptions from a custom local directory
Code
 $rpt += Get-HTMLOpenPage -CSSName Sample
$rpt += Get-HTMLContentOpen "Orange"
$rpt += Get-HTMLContentText -Heading "Sample Style" -Detail "whooo, coool."
$rpt += Get-HTMLContentClose
$rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 

Creating Options You can saver the options from the Module directory locally and modify them.
for instance your logo files, css styles and even graph colour schemes
Code
 $MyPath  ='C:\temp\Custom'
if ((Test-Path $MyPath ) -eq $false) {New-Item -ItemType	Directory -Path $mypath}
New-HTMLReportOptions -SaveOptionsPath $MyPath 
$Options = new-HTMLReportOptions -CSSPath c:\temp\ -cssname sample -ColorSchemePath c:\temp\ -LogoPath c:\temp\
$Rpt = @()
$Rpt += get-htmlopenpage -TitleText "External Options" -Options $Options
$Rpt += Get-HTMLContentOpen
$Rpt += Get-HTMLContenttext -Heading "this is custom" -Detail "nice"
$Rpt += Get-HTMLContentClose
$Rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 

Tabs If you are here, you already know what tabs are. Here is the code
Code
 $tabarray = @('Sample1','Sample2','Sample3','Sample4')
$rpt = @()
$rpt += Get-HTMLOpenPage -TitleText 'Tab Test' 
$rpt += Get-HTMLTabHeader -TabNames $tabarray 
foreach ($tab in $tabarray ){
	$rpt += get-htmltabcontentopen -TabName $tab -tabheading ($tab + ' this is your tab' )
		$rpt += Get-HTMLContentText -Heading "$tab" -Detail "$tab" 
	$rpt += get-htmltabcontentclose
}
$rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 
Sample1 this is your tab
Sample1 Sample1

Sample2 this is your tab
Sample2 Sample2

Sample3 this is your tab
Sample3 Sample3

Sample4 this is your tab
Sample4 Sample4

Example
 $rpt += Get-HTMLContentOpen -HeaderText "Welcome to your content" 
	$rpt += Get-HTMLContentText -Heading "This is simple content open" -Detail "Every time you use get-htmlContentopen you need to use Get-HTMLContentClose " 
$rpt += Get-HTMLContentClose  
This is simple content open Every time you use get-htmlContentopen you need to use Get-HTMLContentClose
Example
 $process = Get-Process | select -First 10
$rpt += Get-HTMLContentOpen -HeaderText "Hiding content" -IsHidden 
	$rpt += Get-HTMLContentTable $process 
$rpt += Get-HTMLContentClose  
Example
 $process = Get-Process | select -First 10
$rpt= @()
$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 5" -BackgroundShade 5
	$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 4" -BackgroundShade 4
		$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 3" -BackgroundShade 3
			$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 2" -BackgroundShade 2
				$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 1" -BackgroundShade 1
					$rpt+= Get-HTMLContentTable ($process | Select -First 5)
				$rpt+= Get-HTMLContentClose
			$rpt+= Get-HTMLContentClose
		$rpt+= Get-HTMLContentClose
	$rpt+= Get-HTMLContentClose
$rpt+= Get-HTMLContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Adobe CEF Helper7428Normal5194.0.0.1851101946886796083267960832
Adobe Desktop Service12028Normal9564.0.1.188561111045981388859813888
AdobeIPCBroker5456Normal2295.4.0.121035468849848324984832
AdobeUpdateService3048Normal1714.0.0.185781926422691842269184
AGSService3128Normal2594.2.0.5741329561640304644030464

Example
 $rpt += Get-HTMLContentOpen -HeaderText "Two Column Sample"
	$rpt += Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 2
	$rpt += Get-HTMLContentText -Heading "data" -Detail "here"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 2
	$rpt += Get-HTMLContentText -Heading "data" -Detail "There"
	$rpt += Get-HTMLColumnClose
$rpt += Get-HTMLContentclose

$rpt += Get-HTMLContentOpen -HeaderText "Three Column Sample"
	$rpt += Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 3
	$rpt += Get-HTMLContentText -Heading "data" -Detail "here"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 3
	$rpt += Get-HTMLContentText -Heading "data" -Detail "There"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 3
	$rpt += Get-HTMLContentText -Heading "data" -Detail "over"
	$rpt += Get-HTMLColumnClose
$rpt += Get-HTMLContentclose

$rpt += Get-HTMLContentOpen -HeaderText "Four Column Sample"
	$rpt += Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 4
	$rpt += Get-HTMLContentText -Heading "data" -Detail "here"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 4
	$rpt += Get-HTMLContentText -Heading "data" -Detail "There"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 4
	$rpt += Get-HTMLContentText -Heading "data" -Detail "over"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 4 -ColumnCount 4
	$rpt += Get-HTMLContentText -Heading "data" -Detail "where"
	$rpt += Get-HTMLColumnClose
$rpt += Get-HTMLContentclose

$rpt += Get-HTMLContentOpen -HeaderText "Five Column Sample"
	$rpt += Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "here"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "There"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "over"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 4 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "where"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 5 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "why"
	$rpt += Get-HTMLColumnClose
$rpt += Get-HTMLContentclose 
data here
data there
data here
data there
data over
data here
data there
data over
data where
data here
data there
data over
data where
data why
Example
 $MyProcesses= get-process | select Name,Id,PriorityClass,PagedMemorySize
$rpt= @()
$rpt+= Get-HtmlContentOpen -BackgroundShade 3 -HeaderText "Top and Bottom 5 Process"
	$rpt+= get-HtmlColumn1of2
		$rpt+= Get-HtmlContentOpen -BackgroundShade 2 -HeaderText 'Bottom 5 Process by Paged Memory'
			$rpt+= Get-HtmlContentTable  ($MyProcesses  | sort PagedMemorySize | select -First 5) 
		$rpt+= Get-HtmlContentClose
	$rpt+= get-htmlColumnClose
	$rpt+= get-htmlColumn2of2
		$rpt+= Get-HtmlContentOpen -BackgroundShade 2 -HeaderText 'Top 5 Process by Paged Memory'
			$rpt+= Get-HtmlContentTable  ($MyProcesses | sort PagedMemorySize | select -last 5) 
		$rpt+= Get-HtmlContentClose
	$rpt+= get-htmlColumnClose
$rpt+= Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersion
Adobe CEF Helper7428Normal5194.0.0.185
ONENOTEM12012Normal13816.0.4266.1003
policyHost15996Normal36168.1.1010.0 (fbl_srv_ompssvc_lantern_sccmrc_sp1(smslight).160918-2004)
powershell19636Normal140410.0.14393.0 (rs1_release.160715-1616)
powershell_ise17132Normal535610.0.14393.103 (rs1_release_inmarket.160819-1924)
NameIdPriorityClassHandlesFileVersion
conhost2316Normal8310.0.14393.0 (rs1_release.160715-1616)
conhost5332Normal8410.0.14393.0 (rs1_release.160715-1616)
conhost10648Normal20610.0.14393.0 (rs1_release.160715-1616)
conhost13572Normal20310.0.14393.0 (rs1_release.160715-1616)
ZeroConfigService3184Normal29419, 1, 0, 0

Sortable Headers Simple Tables are sortable click the header
No Sortable Headers to remove sort from non grouped tables use -NoSortableHeader
Code
 $SampleList = get-process | select Name,Id,PriorityClass,PagedMemorySize,PrivateMemorySize,VirtualMemorySize -First 10 
$rpt= @() 
$rpt+= Get-HtmlContentOpen -HeaderText "Processes"
	$rpt+= Get-HtmlContentTable $SampleList 
$rpt+= Get-HtmlContentClose  
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Adobe CEF Helper7428Normal5194.0.0.1851101946886796083267960832
Adobe Desktop Service12028Normal9564.0.1.188561111045981388859813888
AdobeIPCBroker5456Normal2295.4.0.121035468849848324984832
AdobeUpdateService3048Normal1714.0.0.185781926422691842269184
AGSService3128Normal2594.2.0.5741329561640304644030464
ApplicationFrameHost5560Normal54710.0.14393.0 (rs1_release.160715-1616)662937602029158420291584
audiodg15912Normal56110.0.14393.0 (rs1_release.160715-1616)279019522188492821884928
AvanadeMobileMediaReminderClient12064Normal2881.0.0.0263536643156787231567872
browser_broker10716Normal35511.00.14393.1198 (rs1_release_sec.170427-1353)1621196846530564653056
Calculator14920Normal42910.1705.1705.10001354140161427456014274560
Using Expressions If you want to rename your column header or use calculated columns you can use expressions.
@{Name="Virtual Memory Size";Expression={$_.VirtualMemorySize / 1Kb }
Code
 $SampleList = get-process 
$rpt= @()
$rpt+= Get-HtmlContentOpen -HeaderText "Processes" 
	$rpt+= Get-HtmlContentTable $SampleList 
$rpt+= Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Normal
Adobe CEF Helper74285194.0.0.1851101946886796083267960832
Adobe Desktop Service120289564.0.1.188561111045981388859813888
AdobeIPCBroker54562295.4.0.121035468849848324984832
AdobeUpdateService30481714.0.0.185781926422691842269184
AGSService31282594.2.0.5741329561640304644030464
ApplicationFrameHost556054710.0.14393.0 (rs1_release.160715-1616)662937602029158420291584
audiodg1591256110.0.14393.0 (rs1_release.160715-1616)279019522188492821884928
AvanadeMobileMediaReminderClient120642881.0.0.0263536643156787231567872
browser_broker1071635511.00.14393.1198 (rs1_release_sec.170427-1353)1621196846530564653056
Calculator1492042910.1705.1705.10001354140161427456014274560
CcmExec216412205.00.8458.1000 (SCCM.161026-2255)666009604125900841259008
CCXProcess12864561.5.0.3233338240753664753664
chrome3224558.0.3029.110229539842811084828110848
chrome120836658.0.3029.110343056384270372864270372864
chrome302424358.0.3029.110286228483640115236401152
chrome367227158.0.3029.110595066888350924883509248
chrome474826658.0.3029.110234004482843033628430336
chrome483227458.0.3029.110276316163069132830691328
chrome500023558.0.3029.110229744642994995229949952
Idle
chrome133627358.0.3029.110461578247379353673793536
Column Width Sometimes you may be display data and the column will dynamically shift. You can use the -fixed switch
Code
 $SampleList3 = get-process
$rpt = @()
$rpt += Get-HtmlContentOpen -HeaderText "Processes, 2 fixed table one not."
$rpt += Get-HtmlContentTable -ArrayOfObjects ($SampleList3 | select -first 4) -Fixed
$rpt += Get-HTMLContentText -Heading ' ' -Detail ' '
$rpt += Get-HtmlContentTable -ArrayOfObjects ($SampleList3 | select -last 4) -Fixed
$rpt += Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Adobe CEF Helper7428Normal5194.0.0.1851101946886796083267960832
Adobe Desktop Service12028Normal9564.0.1.188561111045981388859813888
AdobeIPCBroker5456Normal2295.4.0.121035468849848324984832
AdobeUpdateService3048Normal1714.0.0.185781926422691842269184
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
WmiPrvSE6400Normal31010.0.14393.0 (rs1_release.160715-1616)1657651252797445279744
WmiPrvSE8448Normal20710.0.14393.0 (rs1_release.160715-1616)1179648049520644952064
WmiPrvSE8608Normal15810.0.14393.0 (rs1_release.160715-1616)824524831211523121152
WmiPrvSE10204Normal17510.0.14393.0 (rs1_release.160715-1616)1145651252797445279744
WmiPrvSE10900Normal12610.0.14393.0 (rs1_release.160715-1616)755302428467202846720
WUDFHost2600High34410.0.14393.0 (rs1_release.160715-1616)127918082614886426148864
WUDFHost5636Normal25410.0.14393.0 (rs1_release.160715-1616)854425619415041941504
ZeroConfigService3184Normal29419, 1, 0, 01598259254108165410816
Tables Totals Want to add count, Avg or Sum to the bottom of a table. These three array variables expect a header from the arrayofobjects.
Code
 $arrayofobjects = Get-Process | select Name, Handles ,WorkingSet ,PagedMemorySize ,PrivateMemorySize 
$rpt = @()
$rpt += Get-HTMLOpenPage 
$rpt += Get-HtmlContentOpen -HeaderText "Processes, Table Footer with Sum, Count and Average
$rpt += Get-HTMLContentTable $arrayofobjects  -ColumnTotals WorkingSet, PagedMemorySize   -columnCounts Handles,Name -columnAverages PrivateMemorySize  
$rpt += Get-HtmlContentClose
$rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 
NameHandlesWorkingSetPagedMemorySizePrivateMemorySize
Adobe CEF Helper5191101946886796083267960832
Adobe Desktop Service956561111045981388859813888
AdobeIPCBroker2291035468849848324984832
AdobeUpdateService171781926422691842269184
AGSService2591329561640304644030464
count:5count:5sum:197775360sum:139059200avg:27811840
Code
 $MyPC  = get-wmiobject Win32_ComputerSystem -cn $env:COMPUTERNAME | select @{name="RAM";Expression={"{0:N2}" -f($_.TotalPhysicalMemory/1gb).tostring("N0")}}, ` 
	NumberOfProcessors,NumberOfLogicalProcessors ,Name,Model,roles
$rpt = @()
$rpt += get-htmlopenpage 
$rpt += Get-HtmlContentOpen -HeaderText "Table With array in column"
$rpt += Get-HTMLContentTableAdvanced $MyPC
$rpt += Get-HtmlContentClose
$rpt += get-htmlclosepage 
Save-HTMLReport -ReportContent $rpt -ShowReport 
Tables displaying Arrays in Arrays Adding an array with another array in it, doesnt display correctly. Roles is an Array
Code Borrowed from here EnhancedHTML2 I would suggest for advanced tables use this module
Usage You can simply run your array through the enhancedHTML2 functions and add it to $RPT
ModelNameNumberOfLogicalProcessorsNumberOfProcessorsRAMroles
Precision 5510WIN-L2UJU0II918116LM_Workstation LM_Server NT

Code
 $Rpt = @()
$Rpt += get-htmlopenpage -TitleText "Data tables" 
$Rpt += Get-HTMLContentOpen
$Rpt += get-htmlcontentdatatable -ArrayOfObjects (Get-Command -Module ReportHTML | select Name,version,modulename,verb,noun) 
$Rpt += Get-HTMLContentClose
$Rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 
NameVersionModuleNameVerbNoun
Connect-HTMLToAzure1.4.0.3ReportHTMLConnectHTMLToAzure
GenerateRandomColorScheme1.4.0.3ReportHTML
Get-Functions1.4.0.3ReportHTMLGetFunctions
Get-HTMLAnchor1.4.0.3ReportHTMLGetHTMLAnchor
Get-HTMLAnchorLink1.4.0.3ReportHTMLGetHTMLAnchorLink
Get-HTMLBarChart1.4.0.3ReportHTMLGetHTMLBarChart
Get-HTMLBarChartObject1.4.0.3ReportHTMLGetHTMLBarChartObject
Get-HTMLClosePage1.4.0.3ReportHTMLGetHTMLClosePage
Get-HTMLCodeBlock1.4.0.3ReportHTMLGetHTMLCodeBlock
Get-HTMLColorSchemes1.4.0.3ReportHTMLGetHTMLColorSchemes
Get-HTMLColumn1of21.4.0.3ReportHTMLGetHTMLColumn1of2
Get-HTMLColumn2of21.4.0.3ReportHTMLGetHTMLColumn2of2
Get-HTMLColumnClose1.4.0.3ReportHTMLGetHTMLColumnClose
Get-HTMLColumnOpen1.4.0.3ReportHTMLGetHTMLColumnOpen
Get-HTMLContentClose1.4.0.3ReportHTMLGetHTMLContentClose
Get-HTMLContentDataTable1.4.0.3ReportHTMLGetHTMLContentDataTable
Get-HTMLContentOpen1.4.0.3ReportHTMLGetHTMLContentOpen
Get-HTMLContentTable1.4.0.3ReportHTMLGetHTMLContentTable
Get-HTMLContentTableAdvanced1.4.0.3ReportHTMLGetHTMLContentTableAdvanced
Get-HTMLContentText1.4.0.3ReportHTMLGetHTMLContentText
Get-HTMLCSS1.4.0.3ReportHTMLGetHTMLCSS
Get-HTMLHeading1.4.0.3ReportHTMLGetHTMLHeading
Get-HTMLJavaScripts1.4.0.3ReportHTMLGetHTMLJavaScripts
Get-HTMLLogos1.4.0.3ReportHTMLGetHTMLLogos
Get-HTMLOpenPage1.4.0.3ReportHTMLGetHTMLOpenPage
Get-HTMLPieChart1.4.0.3ReportHTMLGetHTMLPieChart
Get-HTMLPieChartObject1.4.0.3ReportHTMLGetHTMLPieChartObject
Get-HTMLPowerShellSyntax1.4.0.3ReportHTMLGetHTMLPowerShellSyntax
Get-HTMLSpan1.4.0.3ReportHTMLGetHTMLSpan
Get-HTMLTabContentClose1.4.0.3ReportHTMLGetHTMLTabContentClose
Get-HTMLTabContentOpen1.4.0.3ReportHTMLGetHTMLTabContentOpen
Get-HTMLTabHeader1.4.0.3ReportHTMLGetHTMLTabHeader
Get-Parameters1.4.0.3ReportHTMLGetParameters
grc1.4.0.3ReportHTML
New-HTMLReportOptions1.4.0.3ReportHTMLNewHTMLReportOptions
Save-HTMLReport1.4.0.3ReportHTMLSaveHTMLReport
Save-HTMLToBlobStorage1.4.0.3ReportHTMLSaveHTMLToBlobStorage
Send-HTMLReport1.4.0.3ReportHTMLSendHTMLReport
Set-TableRowColor1.4.0.3ReportHTMLSetTableRowColor
NameVersionModuleNameVerbNoun
Code
 $arr = (Get-Command -Module ReportHTML | select Name,version,@{n='ModuleName';e={"URL0 1" + $_.ModuleName + "-" + $_.version + ".htmlURL0 2" + $_.ModuleName + "URL0 3"}} ,verb,noun)  #remove the spaces in the URL
$Rpt = @()
$Rpt += get-htmlopenpage -TitleText "Data tables" 
$Rpt += Get-HTMLContentOpen
$Rpt += get-htmlcontentdatatable -ArrayOfObjects $arr -HideFooter -PagingOptions '11,14,21,'
#$Rpt += get-htmlcontentdatatable -ArrayOfObjects $arr -HideFooter -PagingOptions ' ' #to show all use -PagingOptions ' ' 
$Rpt += Get-HTMLContentClose
$Rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 
NameVersionModuleNameVerbNoun
Connect-HTMLToAzure1.4.0.3ReportHTMLConnectHTMLToAzure
GenerateRandomColorScheme1.4.0.3ReportHTML
Get-Functions1.4.0.3ReportHTMLGetFunctions
Get-HTMLAnchor1.4.0.3ReportHTMLGetHTMLAnchor
Get-HTMLAnchorLink1.4.0.3ReportHTMLGetHTMLAnchorLink
Get-HTMLBarChart1.4.0.3ReportHTMLGetHTMLBarChart
Get-HTMLBarChartObject1.4.0.3ReportHTMLGetHTMLBarChartObject
Get-HTMLClosePage1.4.0.3ReportHTMLGetHTMLClosePage
Get-HTMLCodeBlock1.4.0.3ReportHTMLGetHTMLCodeBlock
Get-HTMLColorSchemes1.4.0.3ReportHTMLGetHTMLColorSchemes
Get-HTMLColumn1of21.4.0.3ReportHTMLGetHTMLColumn1of2
Get-HTMLColumn2of21.4.0.3ReportHTMLGetHTMLColumn2of2
Get-HTMLColumnClose1.4.0.3ReportHTMLGetHTMLColumnClose
Get-HTMLColumnOpen1.4.0.3ReportHTMLGetHTMLColumnOpen
Get-HTMLContentClose1.4.0.3ReportHTMLGetHTMLContentClose
Get-HTMLContentDataTable1.4.0.3ReportHTMLGetHTMLContentDataTable
Get-HTMLContentOpen1.4.0.3ReportHTMLGetHTMLContentOpen
Get-HTMLContentTable1.4.0.3ReportHTMLGetHTMLContentTable
Get-HTMLContentTableAdvanced1.4.0.3ReportHTMLGetHTMLContentTableAdvanced
Get-HTMLContentText1.4.0.3ReportHTMLGetHTMLContentText
Get-HTMLCSS1.4.0.3ReportHTMLGetHTMLCSS
Get-HTMLHeading1.4.0.3ReportHTMLGetHTMLHeading
Get-HTMLJavaScripts1.4.0.3ReportHTMLGetHTMLJavaScripts
Get-HTMLLogos1.4.0.3ReportHTMLGetHTMLLogos
Get-HTMLOpenPage1.4.0.3ReportHTMLGetHTMLOpenPage
Get-HTMLPieChart1.4.0.3ReportHTMLGetHTMLPieChart
Get-HTMLPieChartObject1.4.0.3ReportHTMLGetHTMLPieChartObject
Get-HTMLPowerShellSyntax1.4.0.3ReportHTMLGetHTMLPowerShellSyntax
Get-HTMLSpan1.4.0.3ReportHTMLGetHTMLSpan
Get-HTMLTabContentClose1.4.0.3ReportHTMLGetHTMLTabContentClose
Get-HTMLTabContentOpen1.4.0.3ReportHTMLGetHTMLTabContentOpen
Get-HTMLTabHeader1.4.0.3ReportHTMLGetHTMLTabHeader
Get-Parameters1.4.0.3ReportHTMLGetParameters
grc1.4.0.3ReportHTML
New-HTMLReportOptions1.4.0.3ReportHTMLNewHTMLReportOptions
Save-HTMLReport1.4.0.3ReportHTMLSaveHTMLReport
Save-HTMLToBlobStorage1.4.0.3ReportHTMLSaveHTMLToBlobStorage
Send-HTMLReport1.4.0.3ReportHTMLSendHTMLReport
Set-TableRowColor1.4.0.3ReportHTMLSetTableRowColor

Alternating Row Colour How to set alternating row colour on an array
Code
 $SampleList = get-process | select -First 20
$rpt= @()
$rpt+= Get-HtmlContentOpen -HeaderText "Processes"
$SampleListColour = Set-TableRowColor $SampleList2 -Alternating
$rpt+= Get-HtmlContentTable -ArrayOfObjects $SampleListColour 
$rpt+= Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Adobe CEF Helper7428Normal5194.0.0.1851101946886796083267960832
Adobe Desktop Service12028Normal9564.0.1.188561111045981388859813888
AdobeIPCBroker5456Normal2295.4.0.121035468849848324984832
AdobeUpdateService3048Normal1714.0.0.185781926422691842269184
AGSService3128Normal2594.2.0.5741329561640304644030464
ApplicationFrameHost5560Normal54710.0.14393.0 (rs1_release.160715-1616)662937602029158420291584
audiodg15912Normal56110.0.14393.0 (rs1_release.160715-1616)279019522188492821884928
AvanadeMobileMediaReminderClient12064Normal2881.0.0.0263536643156787231567872
browser_broker10716Normal35511.00.14393.1198 (rs1_release_sec.170427-1353)1621196846530564653056
Calculator14920Normal42910.1705.1705.10001354140161427456014274560
CcmExec2164Normal12205.00.8458.1000 (SCCM.161026-2255)666009604125900841259008
CCXProcess12864Normal561.5.0.3233338240753664753664
chrome32Normal24558.0.3029.110229539842811084828110848
chrome1208Normal36658.0.3029.110343056384270372864270372864
chrome1336Idle27358.0.3029.110461578247379353673793536
chrome3024Normal24358.0.3029.110286228483640115236401152
chrome3672Normal27158.0.3029.110595066888350924883509248
chrome4748Normal26658.0.3029.110234004482843033628430336
chrome4832Normal27458.0.3029.110276316163069132830691328
chrome5000Normal23558.0.3029.110229744642994995229949952
How to add colours to tables You can apply colours to a row using logic.
Code
 # You must use single quotes here for the expression
$Red = '$this.Handles   -ge 800'
$Yellow = '$this.Handles   -gt 200 -or $this.Handles -lt 800'
$Green = '$this.Handles  -le 200'
 
# call the function and pass the array and color expressions
$ProcessColoured = Set-TableRowColor ($process | select -first 40) -Red $Red -Yellow $Yellow -Green $Green
 
# let's just see what the function did
$ProcessColoured | select name, Handles , RowColor 
 
$rpt = @()
$rpt += Get-HtmlContentOpen -HeaderText "Process with Row Colour Logic"
$rpt += Get-HtmlContentTable  ($ProcessColoured | Sort Handles) 
$rpt += Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
CCXProcess12864Normal561.5.0.3233338240753664753664
chrome9628Normal12958.0.3029.110878592020316162031616
AdobeUpdateService3048Normal1714.0.0.185781926422691842269184
AdobeIPCBroker5456Normal2295.4.0.121035468849848324984832
chrome5000Normal23558.0.3029.110229744642994995229949952
chrome9400Normal23558.0.3029.110219545602562048025620480
chrome8752Normal23558.0.3029.110265789442950348829503488
chrome8384Normal23558.0.3029.110267427843036364830363648
chrome5316Normal23558.0.3029.110283566082994176029941760
chrome9924Normal23558.0.3029.110112222208127664128127664128
chrome9976Normal23558.0.3029.110273244163008512030085120
chrome9392Normal23658.0.3029.110189042688257490944257490944
chrome3024Normal24358.0.3029.110286228483640115236401152
chrome9448Normal24358.0.3029.110309534723538534435385344
chrome8876Normal24458.0.3029.110664985607510835275108352
chrome32Normal24558.0.3029.110229539842811084828110848
AGSService3128Normal2594.2.0.5741329561640304644030464
chrome8132Idle26158.0.3029.110377159689612492896124928
chrome4748Normal26658.0.3029.110234004482843033628430336
chrome7360Normal26658.0.3029.110244776963787980837879808
chrome3672Normal27158.0.3029.110595066888350924883509248
chrome7856Idle27358.0.3029.110454082567519436875194368
chrome1336Idle27358.0.3029.110461578247379353673793536
chrome4832Normal27458.0.3029.110276316163069132830691328
chrome6480Idle28858.0.3029.11074059776130994176130994176
AvanadeMobileMediaReminderClient12064Normal2881.0.0.0263536643156787231567872
chrome8692Idle35258.0.3029.11064675840174878720174878720
chrome6320Idle35458.0.3029.11064966656217296896217296896
browser_broker10716Normal35511.00.14393.1198 (rs1_release_sec.170427-1353)1621196846530564653056
chrome9204Idle36558.0.3029.11079683584155754496155754496
chrome1208Normal36658.0.3029.110343056384270372864270372864
chrome7136Idle38358.0.3029.110164683776198393856198393856
Calculator14920Normal42910.1705.1705.10001354140161427456014274560
chrome8660Normal49958.0.3029.110840908821749762174976
Adobe CEF Helper7428Normal5194.0.0.1851101946886796083267960832
ApplicationFrameHost5560Normal54710.0.14393.0 (rs1_release.160715-1616)662937602029158420291584
audiodg15912Normal56110.0.14393.0 (rs1_release.160715-1616)279019522188492821884928
Adobe Desktop Service12028Normal9564.0.1.188561111045981388859813888
CcmExec2164Normal12205.00.8458.1000 (SCCM.161026-2255)666009604125900841259008
chrome9412Normal542458.0.3029.110354873344380305408380305408

Chart JS Rather than reinvent charting and because we wanted to be able to generate charts in Azure Automation I used Chart JS
Chart JS Project Chart JS Site Simple HTML5 charts using the canvas element.
Possiblities I will explain a few example and how the chart bject works for rapid creation however you can always create your own chart code and add it
Simple Example
 $Process = Get-Process
$PieProcess = $process | group ProcessName | sort count -Descending |select -First 5

$PieObject = Get-HTMLPieChartObject

$rpt = @()
$rpt += Get-HTMLOpenpage
	$rpt += Get-HTMLContentOpen	 -HeaderText "Simple Example"
		$rpt += Get-HTMLPieChart -ChartObject $PieObject -DataSet $PieProcess 
	$rpt += Get-HTMLContentClose
$rpt += Get-HTMLClosePage

save-htmlreport -reportcontent $rpt -showreport  
Advanced Example
 $Process = Get-Process
$PieProcess2 = $process | group ProcessName | sort count -Descending |select -First 5

#basic Properties 
$PieObject2 = Get-HTMLPieChartObject
$PieObject2.Title = "Top Processes"
$PieObject2.Size.Height =250
$PieObject2.Size.width =250
$PieObject2.ChartStyle.ChartType = 'doughnut'

#These file exist in the module directoy, There are 4 schemes by default
$PieObject2.ChartStyle.ColorSchemeName = "ColorScheme4"
#There are 8 generated schemes, randomly generated at runtime 
$PieObject2.ChartStyle.ColorSchemeName = "Generated8"
#you can also ask for a random scheme.  Which also happens if you have too many records for the scheme
$PieObject2.ChartStyle.ColorSchemeName = 'Random'

#Data defintion you can reference any column from name and value from the  dataset.  
#Name and Count are the default to work with the Group function.
$PieObject2.DataDefinition.DataNameColumnName ='Name'
$PieObject2.DataDefinition.DataValueColumnName = 'Count'

$rpt = @()
$rpt += Get-HTMLopenpage -TitleText Title
	$rpt += Get-HTMLContentOpen -HeaderText "Advanced Example"
		$rpt += Get-HTMLPieChart -ChartObject $PieObject2 -DataSet $PieProcess 
	$rpt += Get-HTMLContentClose
$rpt += Get-HTMLclosepage

save-htmlreport -reportcontent $rpt -showreport  
Bar Chart Example
 $Process = Get-Process
$BarProcess = $process | group Name | sort count -Descending |select -First 10

$ChartExample3 = @()
$ChartExample3 += Get-HTMLContentOpen -HeaderText "Simple Bar Example"
$BarObject = Get-HTMLBarChartObject
$ChartExample3 += Get-HTMLBarChart -ChartObject $BarObject -DataSet $BarProcess 
$ChartExample3 += Get-HTMLContentClose

save-htmlreport -reportcontent $rpt -showreport  

Scripts There are a couple of scripts that are located in the module directory.
These scripts are loaded when you run Get-HTMLopenpage.
you can use Get-HTMLJavaScripts to retrieve them . What this means though
is that you can simply drop your own javascripts into the directory,
or use the function to point at another directory and load custom code.

HTML You can use any html tags and code and add it directy to the Report array
Tags in text you can use things like < B R >
for example in a string for a break
Convertto-advhtml you can trying using this cmdlet ConvertTo-AdvHTML'
Adding it to the array just keep adding it to $rpt += $newcode
Get-HTMLCodeBlock To create this help file I just created get-htmlcodeblock so I could use the < PRE > HTML tag.
I decided that I would pass the code block into the function and choose a style and wrap the code in the tags
I had to add a CSS style to the CSS file to support this function
PowerShell Function
 Function Get-HTMLCodeBlock
{
	[CmdletBinding()]
	Param 
	(
		[Parameter(Mandatory=$true)]
        [String]
        $Code,
		[Parameter(Mandatory=$false)]
        [String]
        $Style = 'PowerShell'
	)
	$CodeBlock = @()
	switch ($Style) {
		'PowerShell'
		{
			$CodeBlock += '
'
		}
		'othercodestyleneedsACSSStyle'
		{
			$CodeBlock += '
'
		}
		default 
		{
			$CodeBlock += '
'
		}
	}
	
	$CodeBlock  += $Code
	$CodeBlock  += '
' [string]$CodeBlock = $CodeBlock Write-Output $CodeBlock }
PowerShell Code
 
    $SampleCode=@'
    $Tab = 'JavaScript'
      $rpt += get-htmltabcontentopen -TabName $Tab -tabheading ' '
            $rpt += Get-HTMLContentOpen -HeaderText 'The Basics' 
                  $rpt += Get-HTMLContentText -Heading "Scripts" -detail "There are a couple of scripts that are located in the module directory"
            $rpt += Get-HTMLContentClose
      $rpt += get-htmltabcontentclose
    '@

    $rpt += Get-HTMLContentText -Heading "PowerShell Function" -detail (get-htmlcodeblock -style powershell -code $SampleCode)

 
Output
 $Tab = 'JavaScript'
  $rpt += get-htmltabcontentopen -TabName $Tab -tabheading ' '
        $rpt += Get-HTMLContentOpen -HeaderText 'The Basics' 
              $rpt += Get-HTMLContentText -Heading "Scripts" -detail "There are a couple of scripts that are located in the module directory"
        $rpt += Get-HTMLContentClose
  $rpt += get-htmltabcontentclose 

Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List
Name Connect-HTMLToAzure
Synopsis Connect-HTMLToAzure [[-connectionName] ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
connectionNameObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name GenerateRandomColorScheme
Synopsis Generate a colour scheme
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
NumberOfSchemesInt32FalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-Functions
Synopsis Get-Functions [[-pattern] ] [[-path] ] [-Recurse]
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
patternObjectFalseFalse
pathObjectFalseFalse
RecurseBooleanFalseFalse
Back To Function List
Name Get-HTMLAnchor
Synopsis creates an Anchor
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
AnchorNameStringTrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLAnchorLink
Synopsis creates Hyperlink for an Anchor
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
AnchorNameStringFalseFalse
AnchorTextStringTrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLBarChart
Synopsis
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ChartObjectObjectTrueFalse
DataSetArrayTrueFalse
OptionsObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLBarChartObject
Synopsis create a Bar chart object for use with Get-HTMLBarChart
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ColorSchemeObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLClosePage
Synopsis Get's the closing segment for the HTML
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
FooterTextStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLCodeBlock
Synopsis Get-HTMLCodeBlock [-Code] [[-Style] ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
CodeStringTrueFalse
StyleStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColorSchemes
Synopsis Get-HTMLColorSchemes [[-SchemePath] ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
SchemePathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColumn1of2
Synopsis adds a row colour field to the array of object for processing with htmltable
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColumn2of2
Synopsis adds a row colour field to the array of object for processing with htmltable
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColumnClose
Synopsis Closing Div Tag
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColumnOpen
Synopsis Dynamic Column Creation
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ColumnNumberInt32TrueFalse
ColumnCountInt32TrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentClose
Synopsis Closes an HTML section
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentDataTable
Synopsis Creates an HTML 5 Data table from an array of objects
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ArrayOfObjectsArrayTrueTrue
DisablePagingBooleanFalseFalse
PagingOptionsStringFalseFalse
DisableOrderingBooleanFalseFalse
DisableInfoBooleanFalseFalse
HideFooterBooleanFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentOpen
Synopsis Creates a section in HTML
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
HeaderTextStringFalseFalse
IsHiddenBooleanFalseFalse
AnchorStringFalseFalse
BackgroundShadeInt32FalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentTable
Synopsis Creates an HTML table from an array of objects
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ArrayOfObjectsArrayFalseFalse
GroupByStringFalseFalse
ColumnCountsArrayFalseFalse
FixedBooleanFalseFalse
ColumnAveragesArrayFalseFalse
NoSortableHeaderBooleanFalseFalse
ColumnTotalsArrayFalseFalse
Back To Function List
Name Get-HTMLContentTableAdvanced
Synopsis Code borrowed from https://www.powershellgallery.com/packages/EnhancedHTML2
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ArrayOfObjectsArrayTrueTrue
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentText
Synopsis Creates an HTML entry with heading and detail
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
HeadingStringFalseFalse
DetailStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLCSS
Synopsis Get's HTML Cascading Style Sheet
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
CSSPathStringFalseFalse
CSSNameStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLHeading
Synopsis Get-HTMLHeading [[-headingText] ] [[-headerSize] ]
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
headingTextStringFalseFalse
headerSizeInt32FalseFalse
Back To Function List
Name Get-HTMLJavaScripts
Synopsis Get's Script File from module directory
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ScriptPathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLLogos
Synopsis Get Base64 HTML
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
LogoPathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLOpenPage
Synopsis Get's HTML for the header of the HTML report
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
explicit
TitleTextStringFalseFalse
CSSPathStringFalseFalse
CSSNameStringFalseFalse
ScriptPathStringFalseFalse
ColorSchemePathStringFalseFalse
LogoPathStringFalseFalse
LeftLogoNameStringFalseFalse
RightLogoNameStringFalseFalse
LeftLogoStringStringFalseFalse
RightLogoStringStringFalseFalse
HideLogosBooleanFalseFalse
HideTitleBooleanFalseFalse
NoScriptBooleanFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
options
TitleTextStringFalseFalse
HideLogosBooleanFalseFalse
HideTitleBooleanFalseFalse
NoScriptBooleanFalseFalse
OptionsPSObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLPieChart
Synopsis
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ChartObjectObjectTrueFalse
DataSetArrayTrueFalse
OptionsObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLPieChartObject
Synopsis create a Bar chart object for use with Get-HTMLBarChart
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ChartTypeStringFalseFalse
ColorSchemeObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLPowerShellSyntax
Synopsis Get-HTMLPowerShellSyntax [[-PowerShellFilePath] ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
PowerShellFilePathObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLReportHelp
Synopsis Get-HTMLReportHelp [-GenerateReport]
Remarks None
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
GenerateReportBooleanFalseFalse
Back To Function List
Name Get-HTMLSpan
Synopsis Get-HTMLSpan [[-block] ] [[-tokenColor] ]
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
blockObjectFalseFalse
tokenColorObjectFalseFalse
Back To Function List Back To Function List
Name Get-HTMLTabContentOpen
Synopsis Get-HTMLTabContentOpen [-TabName] [-TabHeading] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
TabNameStringTrueFalse
TabHeadingStringTrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLTabHeader
Synopsis Get-HTMLTabHeader [-TabNames] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
TabNamesArrayTrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-Parameters
Synopsis Get-Parameters [[-Cmdlet] ] [-ShowCommon] [-Full]
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
CmdletObjectFalseFalse
ShowCommonBooleanFalseFalse
FullBooleanFalseFalse
Back To Function List
grc
Name grc
Synopsis Random colour Function
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
MinInt32FalseFalse
maxInt32FalseFalse
Back To Function List
in
Name In
Synopsis A convenience function that executes a script from a specified path.
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
pathObjectFalseFalse
executeScriptBlockFalseFalse
Back To Function List
Name New-HTMLReportOptions
Synopsis New-HTMLReportOptions [-LogoSources ] [-ColorSchemes ] [-CSSName ] [-CSSPath ] [-ScriptPath ] [-ColorSchemePath ] [-LogoPath ] [-ReportPath ] [] New-HTMLReportOptions [-LogoSources ] [-ColorSchemes ] [-CSSName ] [-CSSPath ] [-ScriptPath ] [-ColorSchemePath ] [-LogoPath ] [-SaveOptionsPath ] [-ReportPath ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
NoSave
LogoSourcesHashtableFalseFalse
ColorSchemesHashtableFalseFalse
CSSNameObjectFalseFalse
CSSPathStringFalseFalse
ScriptPathStringFalseFalse
ColorSchemePathStringFalseFalse
LogoPathStringFalseFalse
ReportPathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Save
LogoSourcesHashtableFalseFalse
ColorSchemesHashtableFalseFalse
CSSNameObjectFalseFalse
CSSPathStringFalseFalse
ScriptPathStringFalseFalse
ColorSchemePathStringFalseFalse
LogoPathStringFalseFalse
SaveOptionsPathStringFalseFalse
ReportPathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Save-HTMLReport
Synopsis generation of report and invokes the file to open
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ReportNameStringFalseFalse
ReportPathStringFalseFalse
ReportContentArrayTrueFalse
ShowReportBooleanFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Save-HTMLToBlobStorage
Synopsis generation of report and invokes the file to open
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ReportContentArrayTrueFalse
resourceGroupNameStringTrueFalse
storageAccountNameStringTrueFalse
storageContainerNameStringTrueFalse
ReportPrefixStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Send-HTMLReport
Synopsis rudimentary send report via email function. Suggest finding more comprehensive function it must already exist :)
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ReportNameStringFalseFalse
ToStringFalseFalse
FromStringFalseFalse
SMTPServerStringFalseFalse
SMTPPortStringFalseFalse
BodyStringFalseFalse
RptfileObjectFalseFalse
CredentialsPSCredentialFalseFalse
StoredReportHashtableFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Set-TableRowColor
Synopsis adds a row colour field to the array of object for processing with htmltable
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ArrayOfObjectsObject[]FalseFalse
GreenStringFalseFalse
YellowStringFalseFalse
RedStringFalseFalse
AlternatingBooleanFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse